
/* 
描述：
1 拆分字符串1
2 查询两字符串匹配的单词
3 两字符串匹配的单词，根据要求进行查询后，放入临时数组的特定位置
4 根据临时数据情况返回最终结果
*/
function test1(t1,t2){
    var t1Arr=t1.split(' '),t1ArrLen=t1Arr.length,tempArr=[];
    for(var i=0;i<t1ArrLen;i++){
        var ts = new RegExp('\\b'+t1Arr[i]+'\\b')
        if(t2.search(ts) != -1){
            var _tempILen = t1Arr[i].length;
            if(tempArr.length == 0){
                tempArr.push(t1Arr[i]);
            }else if(tempArr.length == 1 && tempArr[0].length < _tempILen){
                tempArr.unshift(t1Arr[i]);
            }else if(tempArr.length == 1 && tempArr[0].length > _tempILen){
                tempArr.push(t1Arr[i]);
            }else if(tempArr.length == 2 && tempArr[0].length < _tempILen){
                tempArr.unshift(t1Arr[i]);
                tempArr.splice(tempArr.length-1,1);
            }else if(tempArr.length == 2 && tempArr[0].length > _tempILen && tempArr[1].length < _tempILen){
                tempArr.splice(tempArr.length-1,1,t1Arr[i]);
            }else{
                continue;
            }
        }
    }
    if(tempArr[1]){
        return tempArr[1]
    }else{
        return null
    }
}
function dodemo1(){
    var _t1 = document.getElementsByName('test1')[0].value
    var _t2 = document.getElementsByName('test2')[0].value
    document.getElementById('test1out').innerHTML = test1(_t1,_t2)
}
/*
 以m开头n个连续正整数 m+(m+1)+(m+2)+...+(m+n-1) = n*(m*2+n-1)/2
 num = n*(m*2+n-1)/2;
 变形得到m和n的关系 m = (2*num/n - n + 1)/2
 2*num%n == 0 && m > 0
*/
function test2(num){
    if(num <=0 || num >10000){
        alert('超出范围，请重新输入')
    }
    var m,txt='';
    for(var n=2;n<=num/2;n++){
        if(2*num % n == 0){
            var tempm = 2*num/n - n + 1;
            if(tempm % 2 == 0 && tempm > 0){ //正整数
                m = tempm/2 
                for(var i=m;i<=m+n-1;i++){
                    txt += i + ' ';
                }
                txt += '<br />' 
            }   
        }
    }
    if(txt !== ''){
        return txt
    }else{
        return 'NONE'
    }
}
function dodemo2(){
    var _num = document.getElementsByName('test3')[0].value
    document.getElementById('test2out').innerHTML = test2(Number(_num))
}

/* 旅行图使用echarts API */
// 全国省份列表
var dataMap = [{ name: '北京' }, { name: '天津' }, { name: '上海' }, { name: '重庆' }, { name: '河北' }, { name: '河南' }, { name: '云南' }, { name: '辽宁' }, { name: '黑龙江' }, { name: '湖南' }, { name: '安徽' }, { name: '山东' },
{ name: '新疆' }, { name: '江苏' }, { name: '浙江' }, { name: '江西' }, { name: '湖北' }, { name: '广西' }, { name: '甘肃' }, { name: '山西' }, { name: '内蒙古' }, { name: '陕西' }, { name: '吉林' }, { name: '福建' }, { name: '贵州' },
{ name: '广东' }, { name: '青海' }, { name: '西藏' }, { name: '四川' }, { name: '宁夏' }, { name: '海南' }, { name: '台湾' }, { name: '香港' }, { name: '澳门' }]
// 需要在页面上直接标记出来的城市
var specialMap = [{name:'北京',tips:'2013年来到了这里'}, {name:'广东',tips:'2014年10月我来了'}, {name:'黑龙江',tips:'我的家乡'},{name:'辽宁',tips:'铁锅炖走起'},{name:'河北',tips:'2017年北戴河的萤光海岸'},{name:'天津',tips:'2018~天津之眼'}];
// 对dataMap进行处理，使其可以直接在页面上展示
for (var i = 0; i < specialMap.length; i++) {
    for (var j = 0; j < dataMap.length; j++) {
        if (specialMap[i].name == dataMap[j].name) {
            dataMap[j].selected = true;
            dataMap[j].value = 2000;
            dataMap[j].tips = specialMap[i].tips;
            break;
        }

    }
}
// 数据
var option = {
    tooltip: {
        formatter: function (params) {
            var init = '我还没有去过'
            if(params.data.tips){
                init = params.data.tips
            }
            var info = '<p style="font-size:18px">' + params.name + '</p><p style="font-size:14px">'+init+'</p>'
            return info;
        },
        textStyle: { color: "#fff" }
    },
    visualMap:{
        min: 100,
        max: 2000,
        show:false,
        inRange: {
            color: ['#eee', '#00B38A']
        }
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            selectedMode: 'single',
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            itemStyle: {
                normal: {
                    borderWidth: .5
                },
                emphasis: {
                    borderWidth: .5,
                    borderColor: '#4b0082',
                    areaColor: "#00B38A",
                }
            },
            data: dataMap
        }
    ]
};
//初始化echarts实例
var myChart = echarts.init(document.getElementById('mytravel'));
myChart.setOption(option);
myChart.on('click',function(params){
    if(params.data.value == 2000){
        var tips = dialog({title: '提示',
        content: '我已经来过了这个地方'}).showModal();
            tips.show();
            setTimeout(function () {
                tips.close().remove();
            },1000)
        return false;
    }
    if(params.data.value == 1000){
        $('.plan-input').val(params.data.tips)
    }
    var changeDataMap = dataMap.filter(function(val){
        return val.name === params.data.name
    })[0]
    var d = dialog({
        title: '添加新计划',
        content: $('#popdiv'),
        okValue: '确定',
        ok: function(){
            changeDataMap.value=1000;
            if($('.plan-input').val() == ''){
                changeDataMap.tips='今年的愿望';
            }else{
                changeDataMap.tips=$('.plan-input').val();
            }
            
            $('.plan-input').val('');
            myChart.setOption(option);

            var tips = dialog({title: '提示',
        content: '成功添加了计划！'}).showModal();
            tips.show();
            setTimeout(function () {
                tips.close().remove();
            },1000)
        },
        cancelValue: "取消",
        cancel: function(){
            changeDataMap.value=0;
            changeDataMap.tips='';
            $('.plan-input').val('');
            myChart.setOption(option);  
        } ,
        width:'250'
    }).showModal();
    $('.plan-input').focus()
})
$('.navbar a').on('click',function(){
    $(this).parent().addClass('active').siblings('li').removeClass('active')
    $('.page').addClass('hidden')
    $('.page'+$(this).attr('rel')).removeClass('hidden')
})